﻿using FluentNHibernate.Mapping;
using TimeTracker.Core.Domain.Entities;

namespace TimeTracker.Core.Domain.Mappings
{
    public class UnosVremenaMappings : ClassMap<UnosVremena>
    {
        public UnosVremenaMappings()
        {
            Table("UnosVremena");

            Id(x => x.UnosVremenaId).GeneratedBy.Identity();
            Map(x => x.UnosVremenaOpis);
            Map(x => x.UnosVremenaDatum);
            Map(x => x.UnosVremenaNapravioKorisnikId);
            Map(x => x.UnosVremenaTipDana);

            References(x => x.Radnik)
                .ForeignKey("Id")
                .Column("RadnikId")
                .LazyLoad();

            HasMany(x => x.UnosiVremenaSati)
                .Inverse()
                .AsBag()
                .Cascade.AllDeleteOrphan()
                .KeyColumn("UnosVremenaSatiId");
        }
    }
}
